{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# XGBoost Parameter Tuning for Rent Listing Inqueries"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1. 直接调用xgboost内嵌的cv寻找最佳的参数n_estimators"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "首先 import 必要的模块"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from xgboost import XGBClassifier\n",
    "import xgboost as xgb\n",
    "\n",
    "import pandas as pd \n",
    "import numpy as np\n",
    "\n",
    "from sklearn.model_selection import GridSearchCV\n",
    "from sklearn.model_selection import StratifiedKFold,train_test_split\n",
    "\n",
    "from sklearn.metrics import log_loss\n",
    "\n",
    "from matplotlib import pyplot\n",
    "import seaborn as sns\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 读取数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": true,
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "# path to where the data lies\n",
    "dpath = './data/'\n",
    "train = pd.read_csv(dpath +\"RentListingInquries_FE_train.csv\")\n",
    "test = pd.read_csv(dpath +\"RentListingInquries_FE_test.csv\")\n",
    "#train.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>bathrooms</th>\n",
       "      <th>bedrooms</th>\n",
       "      <th>price</th>\n",
       "      <th>price_bathrooms</th>\n",
       "      <th>price_bedrooms</th>\n",
       "      <th>room_diff</th>\n",
       "      <th>room_num</th>\n",
       "      <th>Year</th>\n",
       "      <th>Month</th>\n",
       "      <th>Day</th>\n",
       "      <th>...</th>\n",
       "      <th>walk</th>\n",
       "      <th>walls</th>\n",
       "      <th>war</th>\n",
       "      <th>washer</th>\n",
       "      <th>water</th>\n",
       "      <th>wheelchair</th>\n",
       "      <th>wifi</th>\n",
       "      <th>windows</th>\n",
       "      <th>work</th>\n",
       "      <th>interest_level</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1.5</td>\n",
       "      <td>3</td>\n",
       "      <td>3000</td>\n",
       "      <td>1200.0</td>\n",
       "      <td>750.000000</td>\n",
       "      <td>-1.5</td>\n",
       "      <td>4.5</td>\n",
       "      <td>2016</td>\n",
       "      <td>6</td>\n",
       "      <td>24</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1.0</td>\n",
       "      <td>2</td>\n",
       "      <td>5465</td>\n",
       "      <td>2732.5</td>\n",
       "      <td>1821.666667</td>\n",
       "      <td>-1.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>2016</td>\n",
       "      <td>6</td>\n",
       "      <td>12</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>2850</td>\n",
       "      <td>1425.0</td>\n",
       "      <td>1425.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>2016</td>\n",
       "      <td>4</td>\n",
       "      <td>17</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>3275</td>\n",
       "      <td>1637.5</td>\n",
       "      <td>1637.500000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>2016</td>\n",
       "      <td>4</td>\n",
       "      <td>18</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1.0</td>\n",
       "      <td>4</td>\n",
       "      <td>3350</td>\n",
       "      <td>1675.0</td>\n",
       "      <td>670.000000</td>\n",
       "      <td>-3.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>2016</td>\n",
       "      <td>4</td>\n",
       "      <td>28</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 228 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   bathrooms  bedrooms  price  price_bathrooms  price_bedrooms  room_diff  \\\n",
       "0        1.5         3   3000           1200.0      750.000000       -1.5   \n",
       "1        1.0         2   5465           2732.5     1821.666667       -1.0   \n",
       "2        1.0         1   2850           1425.0     1425.000000        0.0   \n",
       "3        1.0         1   3275           1637.5     1637.500000        0.0   \n",
       "4        1.0         4   3350           1675.0      670.000000       -3.0   \n",
       "\n",
       "   room_num  Year  Month  Day       ...        walk  walls  war  washer  \\\n",
       "0       4.5  2016      6   24       ...           0      0    0       0   \n",
       "1       3.0  2016      6   12       ...           0      0    0       0   \n",
       "2       2.0  2016      4   17       ...           0      0    0       0   \n",
       "3       2.0  2016      4   18       ...           0      0    0       0   \n",
       "4       5.0  2016      4   28       ...           0      0    1       0   \n",
       "\n",
       "   water  wheelchair  wifi  windows  work  interest_level  \n",
       "0      0           0     0        0     0               1  \n",
       "1      0           0     0        0     0               2  \n",
       "2      0           0     0        0     0               0  \n",
       "3      0           0     0        0     0               2  \n",
       "4      0           0     0        0     0               2  \n",
       "\n",
       "[5 rows x 228 columns]"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 49352 entries, 0 to 49351\n",
      "Columns: 228 entries, bathrooms to interest_level\n",
      "dtypes: float64(9), int64(219)\n",
      "memory usage: 85.8 MB\n"
     ]
    }
   ],
   "source": [
    "train.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "Y = train['interest_level']\n",
    "X = train.drop([\"interest_level\"], axis=1)\n",
    "X = np.array(X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "X_train=X\n",
    "y_train=Y"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# prepare cross validation\n",
    "kfold = StratifiedKFold(n_splits=5, shuffle=True, random_state=3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "默认参数，此时学习率为0.1，比较大，观察弱分类数目的大致范围\n",
    "（采用默认参数配置，看看模型是过拟合还是欠拟合）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#直接调用xgboost内嵌的交叉验证（cv），可对连续的n_estimators参数进行快速交叉验证\n",
    "#而GridSearchCV只能对有限个参数进行交叉验证\n",
    "def modelfit(alg, X_train,y_train, cv_folds=None, early_stopping_rounds=10):\n",
    "    xgb_param = alg.get_xgb_params()\n",
    "    xgb_param['num_class'] = 3\n",
    "    \n",
    "    #直接调用xgboost，而非sklarn的wrapper类\n",
    "    xgtrain = xgb.DMatrix(X_train, label = y_train)\n",
    "        \n",
    "    cvresult = xgb.cv(xgb_param, xgtrain, num_boost_round=alg.get_params()['n_estimators'], folds =cv_folds,\n",
    "             metrics='mlogloss', early_stopping_rounds=early_stopping_rounds,)\n",
    "  \n",
    "    cvresult.to_csv('1_nestimators.csv', index_label = 'n_estimators')\n",
    "    \n",
    "    #最佳参数n_estimators\n",
    "    n_estimators = cvresult.shape[0]\n",
    "    \n",
    "    # 采用交叉验证得到的最佳参数n_estimators，训练模型\n",
    "    alg.set_params(n_estimators = n_estimators)\n",
    "    alg.fit(X_train,y_train,eval_metric='mlogloss')\n",
    "    print(n_estimators)\n",
    "        \n",
    "    #Predict training set:\n",
    "    train_predprob = alg.predict_proba(X_train)\n",
    "    logloss = log_loss(y_train, train_predprob)\n",
    "\n",
    "   #Print model report:\n",
    "    print (\"logloss of train :\" )\n",
    "    print(logloss)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "231\n",
      "logloss of train :\n",
      "0.5208470842963495\n"
     ]
    }
   ],
   "source": [
    "#params = {\"objective\": \"multi:softprob\", \"eval_metric\":\"mlogloss\", \"num_class\": 9}\n",
    "xgb1 = XGBClassifier(\n",
    "        learning_rate =0.1,\n",
    "        n_estimators=1000,  #数值大没关系，cv会自动返回合适的n_estimators\n",
    "        max_depth=5,\n",
    "        min_child_weight=1,\n",
    "        gamma=0,\n",
    "        subsample=0.3,\n",
    "        colsample_bytree=0.8,\n",
    "        colsample_bylevel=0.7,\n",
    "        objective= 'multi:softprob',\n",
    "        nthread=-1,\n",
    "        seed=3)\n",
    "\n",
    "\n",
    "modelfit(xgb1, X_train,y_train, cv_folds = kfold)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nB5GnAKEbajWKAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1d8026eef60>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cvresult = pd.DataFrame.from_csv('1_nestimators.csv')\n",
    "        \n",
    "# plot\n",
    "test_means = cvresult['test-mlogloss-mean']\n",
    "test_stds = cvresult['test-mlogloss-std'] \n",
    "        \n",
    "train_means = cvresult['train-mlogloss-mean']\n",
    "train_stds = cvresult['train-mlogloss-std'] \n",
    "\n",
    "x_axis = range(0, cvresult.shape[0])\n",
    "        \n",
    "pyplot.errorbar(x_axis, test_means, yerr=test_stds ,label='Test')\n",
    "pyplot.errorbar(x_axis, train_means, yerr=train_stds ,label='Train')\n",
    "pyplot.title(\"XGBoost n_estimators vs Log Loss\")\n",
    "pyplot.xlabel( 'n_estimators' )\n",
    "pyplot.ylabel( 'Log Loss' )\n",
    "pyplot.savefig( 'n_estimators4_1.png' )\n",
    "\n",
    "pyplot.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nJEmSMmbQkiRJkqSMGbQkSZIkKWMGLUmSJEnKmEFLkiRJkjJm0JIkSZKkjBm0JEmSJCljBi1JkiRJ\nyphBS5IkSZIyZtCSJEmSpIwZtCRJkiQpYwYtSZIkScqYQUuSJEmSMmbQkiRJkqSMGbQkSZIkKWMG\nLUmSJEnKmEFLkiRJkjJm0JIkSZKkjBm0JEmSJCljBi1JkiRJyphBS5IkSZIyZtCSJEmSpIwZtCRJ\nkiQpYwYtSZIkScqYQUuSJEmSMmbQkiRJkqSMGbQkSZIkKWMGLUmSJEnKmEFLkiRJkjJm0JIkSZKk\njBm0JEmSJCljBi1JkiRJyphBS5IkSZIyZtCSJEmSpIwZtCRJkiQpYwYtSZIkScqYQUuSJEmSMmbQ\nkiRJkqSMGbQkSZIkKWMGLUmSJEnKmEFLkiRJkjJm0JIkSZKkjBm0JEmSJCljBi1JkiRJyphBS5Ik\nSZIyZtCSJEmSpIwZtCRJkiQpYwYtSZIkScqYQUuSJEmSMmbQkiRJkqSMGbQkSZIkKWMGLUmSJEnK\nmEFLkiRJkjJm0JIkSZKkjBm0JEmSJCljBi1JkiRJyphBS5IkSZIyZtCSJEmSpIwZtCRJkiQpYwYt\nSZIkScqYQUuSJEmSMmbQkiRJkqSMGbQkSZIkKWMGLUmSJEnKmEFLkiRJkjJm0JIkSZKkjBm0JEmS\nJCljBi1JkiRJyphBS5IkSZIyZtCSJEmSpIwZtCRJkiQpYwYtSZIkScqYQUuSJEmSMmbQkiRJkqSM\nGbQkSZIkKWMGLUmSJEnKmEFLkiRJkjJm0JIkSZKkjBm0JEmSJCljBi1JkiRJyphBS5IkSZIyZtCS\nJEmSpIwZtCRJkiQpYwYtSZIkScqYQUuSJEmSMmbQkiRJkqSMGbQkSZIkKWMGLUmSJEnKmEFLkiRJ\nkjJm0JIkSZKkjBm0JEmSJCljBi1JkiRJyphBS5IkSZIyZtCSJEmSpIwZtCRJkiQpYwYtSZIkScqY\nQUuSJEmSMmbQkiRJkqSMGbQkSZIkKWMGLUmSJEnKmEFLkiRJkjJm0JIkSZKkjBm0JEmSJCljBi1J\nkiRJyphBS5IkSZIyZtCSJEmSpIwZtCRJkiQpYwYtSZIkScqYQUuSJEmSMmbQkiRJkqSMGbQkSZIk\nKWMGLUmSJEnKmEFLkiRJkjJm0JIkSZKkjBm0JEmSJCljBi1JkiRJytiIB60QwtkhhIUhhPYQwoMh\n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\nOhq6HpJufipKdrQkSZKUH+oypXBZp78AWx4GRPDeQ0n8u6l1G1eqIQstSZIkNTxtO8Hht8BpL0Cn\nPkn8xt7w76PhyzdqPpZTCpUBpw5KkiQpf2W6D1el9t3gt3cnUwoJ8OFT8VEpKq9TilJ17GhJkiSp\neJz+QrwfV2njJDa8N0y4HRbPr/k4drm0ChZakiRJKjyZvs+1xiZw4LUw8PUk9sMn8Pi5cMMu2c9T\nRctCS5IkScWnxdrJ+R5/hpbrwdxZSWzMX2D29NqPa6dLFSy0JEmS1DBk2uXa+XQ4dyIccG0Se2M4\nXLMNPHwGzJpSt7wsvoqShZYkSZJU1hi2Ojy57tgdyhfDO/+GEbsn8SjKfW4qSBZakiRJ0rKOewAG\njIUtDgJCEh+xB0y4DRbNSyszFQiXd5ckSVLDlukS8R22hyPvgJmTYdhv4ti3U+Dx82DM4LrltHBu\nsuT8xTPqvkGz8o4dLUmSJGll2m6UnO9xCbTuCL/+mMQeOg2mveq0Qi3FjpYkSZKKT6Zdrp3PgN+c\nD+8/Ag+cEsemPBEf62wNO5xct7zsdDUYdrQkSZKk2igphc32Sa67HQNlTWDmu/DEBUn8u6m5z015\nw0JLkiRJqot+V8KFH8Ceg6Fl+yR+Y2+4aXd46466je/y8AXJqYOSJEkSZD6dEKBZW+hxAexwCvyt\nYxwLpfDVhPioNHUUbL5f3XNV3rPQkiRJkrKlpMr/vT7nrfjdrbfvjFcrBLj/JGjaBjrvX/ef5ftc\nec2pg5IkSdLKVHa6Bs+uXTHTYi3ofjYMeDaJNW8Xr1j49p1J7JVrYe732ctXecFCS5IkSapPocqG\nx+dMgOMfga2PTGIv/A2u2gIeOxe+/ahuP8v3ufKGhZYkSZKUKyWlsPFusP/VSWydrWDxfHjrdrip\nTxIvX5Lz9JQ9vqMlSZIk1VZdFs5Y1snPxEvDjxsCU56EqDyOD9kl3pdry8Pq/jN8nyvnLLQkSZKk\nNIUAG3SPj1kfxAUWwJyvYOxf4fm/JfdWFmHKe04dlCRJkvJF647J+QHXwvo7Q/niJDasB7xyDcz9\nru4/y/e56pUdLUmSJClbsjmlcKvDYfsTYfqbMGKPOPbj5zD6krjTtXm/7Pwc1Qs7WpIkSVI+a9cl\nOe/3D2i/LSxZCO8/ksTfuAnm/VD3n2WXK2vsaEmSJEn1KZtdrm7Hwk6nwVdvwfibYOLdcXzMn+H5\nK7KzEbKywo6WJEmSVGjW2w76XZlct9siXiJ+8gNJbOJIWPRr7nMTYEdLkiRJyr1sdrkA+o+Gb6fA\nGzfCu/fGsad+H69YuEN/6HZM3cZ3efhas6MlSZIkFboQoMMOsP9VSazlejDve3jxf+GGndLLrUhZ\naEmSJEn5orLTNXh23btGZ70GR9wGHXaKF8+odMdBMPlBWLKobuO7cMZKOXVQkiRJaohKyqDrIfHx\n2Utwe8VCGdPHwwPjocU66ebXwNnRkiRJkhq69bZLzntcCM3bwS8zk9ijZ8f7dSlr7GhJkiRJ+Szb\nC2f0ugj6DIJJ98YFFsB7D8XHut3qPr4LZwB2tCRJkqTiU9YYuh6aXG91JJQ2hq8nJrGX/pWdTZCL\nlIWWJEmSVIiyuXDGAVfDhR9A7z8msZeuhKu6wlP/BT99Ubfxi3DhDAstSZIkSdB8TfjNucn12lvC\nonnwxnAY2r1+fmYDLsAstCRJkiQt75T/wAmPwsa7Q1SexG/bDybeDYvnp5dbAXAxDEmSJKmhyObC\nGSFApz7x8eUbcHPfOD7jbXjkTGjaJjs/Z1kNZDENO1qSJEmSVm7trsl5n0HQan349cckdv+J8PEY\nKC9f/rtFyo6WJEmS1NBls9PV/Rzo9Xt4/xF44JQ4NnV0fLTtBNudkJ2fU+DsaEmSJEmqnZJS2Gyf\n5HqH/rBaS/jhUxgzOIl/MznnqeULCy1JkiRJdbPXpfHy8PtfBWt1SeI37xUf7z2UXm4pceqgJEmS\nVIyyOZ0QYLUWsMMp8ebHV6wXx0rK4MvX46PSd1Ohfbfs/dw8ZUdLkiRJUvaEkJyfPR76XAwt1kli\nN/aGYT3h1evg55m5zy9H7GhJkiRJimW7y9VibejzB9j5dPj7BnGspAxmvhsfo/5fcu/iBQW7lHt1\n7GhJkiRJql+ljZLzc9+G/f4J6+8MREn8uu3jwuuHz3KeXn2woyVJkiRp5bLZ6Wq2Buw4ID5mfQBD\ndonjv/4Ar14bH5WWLMrOz0yBHS1JkiRJ6WjdMTk//BbYpC9Q5R2vX3/IeUrZYqElSZIkKX2b7QPH\nPQBnjUtiLdZOL586yotCK4RwVgjhsxDC/BDChBBCz5Xce1IIIarmaJLpmJIkSZJqqXI64eDZ2V3E\novX62RsrRakXWiGEo4CrgcuAbYGXgKdDCB1X8rU5wLpVjyiK5tdxTEmSJEnKinxYDONC4OYoikZU\nXJ8fQtgbOBMYtILvRFEUrWzR/UzGlCRJklRX2V4ivkCl2tEKITQGtgdGLfPRKKD7Sr7aIoQwLYQw\nPYTwRAhh27qMGUJYLYTQsvIAVq/t7yJJkiRJldLuaK0JlALfLBP/Blhn+dsBmAKcBEwCWgLnAa+E\nELaJomhqhmMOAv5c2+QlSZIk1UARdrlSf0erQrTMdagmFt8YReOiKLoriqJ3oih6CTgS+Ag4J9Mx\ngSuAVlWODrXIXZIkSZKWknZH6ztgCct3mtqxfEeqWlEUlYcQxgObZjpmFEULgAWV1yGE6m6TJEmS\nlE0NuNOVakcriqKFwASg7zIf9QVerckYIa6KugFfZ2tMSZIkSaqLtDtaAP8C7gwhvAm8BpwGdASG\nAYQQ7gC+iqJoUMX1n4FxwFTid7TOJS60BtZ0TEmSJEmqT6kXWlEU3RtCWAO4hHhPrMlAvyiKplXc\n0hEor/KV1sCNxFMDZwNvA72iKHqjFmNKkiRJykcNZDphiKIVrQ9RvCqWeJ89e/ZsWrZsmXY6kiRJ\nklIyZ84cWrVqBdAqiqI5Nf1evqw6KEmSJEkNhoWWJEmSJGWZhZYkSZIkZZmFliRJkiRlmYWWJEmS\nJGWZhZYkSZIkZZmFliRJkiRlmYWWJEmSJGWZhZYkSZIkZZmFliRJkiRlmYWWJEmSJGWZhZYkSZIk\nZZmFliRJkiRlmYWWJEmSJGWZhZYkSZIkZZmFliRJkiRlmYWWJEmSJGWZhZYkSZIkZZmFliRJkiRl\nmYWWJEmSJGWZhZYkSZIkZZmFliRJkiRlmYWWJEmSJGWZhZYkSZIkZZmFliRJkiRlmYWWJEmSJGWZ\nhZYkSZIkZZmFliRJkiRlmYWWJEmSJGWZhZYkSZIkZZmFliRJkiRlmYWWJEmSJGVZWdoJ5LM5c+ak\nnYIkSZKkFGVaE4QoirKcSuELIawHTE87D0mSJEl5o0MURV/V9GYLrWqEEALQHvg57VyA1YmLvg7k\nRz5aNZ9ZYfF5FR6fWWHxeRUWn1fh8ZnlxurAjKgWxZNTB6tR8R9gjavV+hTXfAD8HEWRcxkLgM+s\nsPi8Co/PrLD4vAqLz6vw+Mxyptb/2boYhiRJkiRlmYWWJEmSJGWZhVb+WwD8peJPFQafWWHxeRUe\nn1lh8XkVFp9X4fGZ5SkXw5AkSZKkLLOjJUmSJElZZqElSZIkSVlmoSVJkiRJWWahJUmSJElZZqGV\n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\njzoNiuoAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1d8026eea90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cvresult = pd.DataFrame.from_csv('1_nestimators.csv')\n",
    "\n",
    "cvresult = cvresult.iloc[100:]\n",
    "# plot\n",
    "test_means = cvresult['test-mlogloss-mean']\n",
    "test_stds = cvresult['test-mlogloss-std'] \n",
    "        \n",
    "train_means = cvresult['train-mlogloss-mean']\n",
    "train_stds = cvresult['train-mlogloss-std'] \n",
    "\n",
    "x_axis = range(100,cvresult.shape[0]+100)\n",
    "        \n",
    "fig = pyplot.figure(figsize=(10, 10), dpi=100)\n",
    "pyplot.errorbar(x_axis, test_means, yerr=test_stds ,label='Test')\n",
    "pyplot.errorbar(x_axis, train_means, yerr=train_stds ,label='Train')\n",
    "pyplot.title(\"XGBoost n_estimators vs Log Loss\")\n",
    "pyplot.xlabel( 'n_estimators' )\n",
    "pyplot.ylabel( 'Log Loss' )\n",
    "pyplot.savefig( 'n_estimators_detail.png' )\n",
    "\n",
    "pyplot.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
